package com.qding.park.adapter.report.controller.v1.form;

import java.util.Date;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;

import com.qding.park.adapter.report.valid.CardType;
import com.qding.park.adapter.report.valid.PayMode;

public class RenewalSyncForm {
    
    /**
     * @Field @supplyId : TODO(南向接口编号编号)
     */
    @NotEmpty(message="车场供应商编号不能为空")
    private String  supplyId;
    
    /**
     * @Field @orderId : TODO(订单编号)
     */
    @NotEmpty(message="订单号不能为空")
    private String orderId;
    
    /**
     * @Field @parkCode : TODO(车场编号)
     */
    @NotEmpty(message="车场编号不能为空")
    private String parkCode;
    
    /**
     * @Field @carNum : TODO(车牌号,这是一个数组)
     */
    @NotEmpty(message="车牌号不能为空")
    private String carNum;
    
//    /**
//     * @Field @times : TODO(充值次数)
//     */
//    @DecimalMin(value="1",message="times必须大于等于1")
//    private String times;
//    
//    /**
//     * @Field @duration : TODO(充值时长,以小时为单位)
//     */
//    private Double duration;
    
    /**
     * @Field @feeMoney : TODO(真实续费金额 单位分)
     */
    @NotEmpty(message="feeMoney不能为空")
    @DecimalMin(value="0",message="feeMoney必须大于等于0")
    private String feeMoney;
    
    
    /**
     * @Field @shouldFeeMoney : TODO(应续费金额 单位分)
     */
    @NotEmpty(message="shouldFeeMoney不能为空")
    @DecimalMin(value="0",message="shouldFeeMoney必须大于等于0")
    private String shouldFeeMoney;
    
    /**
     * @Field @startTime : TODO(开始时间  yyyy-mm-dd HH:MM:SS)
     */
    @NotNull(message="startTime不能为空")
    private Date startTime;
    
    /**
     * @Field @endTime : TODO(结束时间  yyyy-mm-dd HH:MM:SS)
     */
    @NotNull(message="endTime不能为空")
    private Date endTime;
    
    
    /**
     * @Field @payMode : TODO(支付方式)
     */
//    @NotBlank(message="payMode不能为空")
    @PayMode
    private  String payMode;
    
    /**
     * @Field @cardType : TODO(卡类型)
     */
//    @NotBlank(message="cardType不能为空")
//    @CardType
    private String cardType;
    
    @NotEmpty(message="isDelete不能为空")
    private String isDelete;
    
    @NotNull(message="acceptanceTime不能为空")
    private Date acceptanceTime;

    
    public String getSupplyId() {
        return supplyId;
    }

    
    public void setSupplyId(String supplyId) {
        this.supplyId = supplyId;
    }

    
    public String getOrderId() {
        return orderId;
    }

    
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    
    public String getParkCode() {
        return parkCode;
    }

    
    public void setParkCode(String parkCode) {
        this.parkCode = parkCode;
    }

    
    public String getCarNum() {
        return carNum;
    }

    
    public void setCarNum(String carNum) {
        this.carNum = carNum;
    }


    
    
//    public String getTimes() {
//        return times;
//    }
//
//
//    
//    public void setTimes(String times) {
//        this.times = times;
//    }


    
    
    
//    public Double getDuration() {
//        return duration;
//    }
//
//
//    
//    public void setDuration(Double duration) {
//        this.duration = duration;
//    }


   

    
    
    
    public String getIsDelete() {
        return isDelete;
    }


    
    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }


    
    public Date getAcceptanceTime() {
        return acceptanceTime;
    }


    
    public void setAcceptanceTime(Date acceptanceTime) {
        this.acceptanceTime = acceptanceTime;
    }


    public String getFeeMoney() {
        return feeMoney;
    }


    
    public void setFeeMoney(String feeMoney) {
        this.feeMoney = feeMoney;
    }


    
    public String getShouldFeeMoney() {
        return shouldFeeMoney;
    }


    
    public void setShouldFeeMoney(String shouldFeeMoney) {
        this.shouldFeeMoney = shouldFeeMoney;
    }


    public Date getStartTime() {
        return startTime;
    }


    
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }


    
    public Date getEndTime() {
        return endTime;
    }


    
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }




    
    public String getPayMode() {
        return payMode;
    }


    
    public void setPayMode(String payMode) {
        this.payMode = payMode;
    }


    
    public String getCardType() {
        return cardType;
    }


    
    public void setCardType(String cardType) {
        this.cardType = cardType;
    }


    @Override
    public String toString() {
        return "RenewalSyncForm [supplyId=" + supplyId + ", orderId=" + orderId + ", parkCode=" + parkCode + ", carNum="
                + carNum + ", feeMoney=" + feeMoney + ", shouldFeeMoney=" + shouldFeeMoney + ", startTime=" + startTime
                + ", endTime=" + endTime + ", payMode=" + payMode + ", cardType=" + cardType + "]";
    }



    
    
    
    
}
